package com.aspose.cells;

class zbba implements zahs {
   private Cells a;
   private RowCollection b;
   private WorksheetCollection c;
   private zbbd d;
   private zahu e;

   zbba(Cells var1, RowCollection var2) {
      this.c = var1.h().c();
      this.a = var1;
      this.b = var2;
      this.d = new zbbd(1.0D);
      this.e = new zbbe(1.0D);
   }

   public void a(boolean var1) {
      if (var1) {
         if (this.e instanceof zbbe) {
            this.e = new zbbf(1.0D);
         }
      } else if (this.e instanceof zbbf) {
         this.e = new zbbe(1.0D);
      }

   }

   private void a() {
      this.d.a((double)this.c.M() / 1440.0D);
   }

   public int a(int var1) {
      int var2 = this.b.e(var1);
      if (var2 > -1) {
         this.a();
         return this.d.a(Row.b(this.b.c, var2));
      } else if (this.a.t()) {
         return 0;
      } else {
         this.a();
         return this.d.a(this.a.p());
      }
   }

   public double b(int var1) {
      int var2 = this.b.e(var1);
      if (var2 > -1) {
         return this.e.c(this.e.a(Row.b(this.b.c, var2)));
      } else {
         return this.a.t() ? 0.0D : this.e.c(this.e.a(this.a.p()));
      }
   }

   public double c(int var1) {
      int var2 = this.b.e(var1);
      if (var2 > -1) {
         return this.e.d(this.e.a(Row.b(this.b.c, var2)));
      } else {
         return this.a.t() ? 0.0D : this.e.d(this.e.a(this.a.p()));
      }
   }

   public int a(int var1, int var2) {
      this.a();
      return this.a(var1, var2, this.d);
   }

   public double b(int var1, int var2) {
      return this.e.c(this.a(var1, var2, this.e));
   }

   public void a(int[] var1) {
      this.a();
      this.a(var1, this.d);
   }

   private int a(int var1, int var2, zahu var3) {
      int var4 = this.a.t() ? 0 : var3.a(this.a.p());
      int var5 = 0;
      zr var6 = this.a.f();
      zahl var7 = var6.b(var1, var2, false);
      if (var7 != null) {
         while(true) {
            int var8 = var7.a();
            if (var8 < 0) {
               break;
            }

            int var9 = var6.a(var8);
            if (var9 > var1) {
               var5 += (var9 - var1) * var4;
            }

            var5 += var3.a(Row.b(var6, var8));
            var1 = var9 + 1;
         }
      }

      if (var1 <= var2) {
         var5 += (var2 - var1 + 1) * var4;
      }

      return var5;
   }

   private void a(int[] var1, zahu var2) {
      int var3 = var1[0];
      int var4;
      int var6;
      int var10;
      int var11;
      if (var1[2] < 0) {
         var4 = -var1[2] - var1[1];
         if (var4 <= 0) {
            var1[2] = -var4;
            var1[1] = 0;
            this.a(var1, var2);
            return;
         }

         zr var5 = this.a.f();
         --var3;
         if (var3 < 0) {
            var1[1] = 0;
            var6 = var5.b(0);
            var1[2] = var6 < 0 ? (this.a.t() ? 0 : var2.a(this.a.p())) : var2.a(Row.b(var5, var6));
            return;
         }

         int var7 = this.a.t() ? 0 : var2.a(this.a.p());
         zahl var9 = var5.b(var3, -1, true);
         int var8;
         if (var9 != null) {
            while(true) {
               var6 = var9.a();
               if (var6 < 0) {
                  break;
               }

               var10 = var5.a(var6);
               if (var10 < var3 && var7 > 0) {
                  var8 = (var4 - 1) / var7;
                  if (var3 - var8 > var10) {
                     var4 -= var8 * var7;
                     var1[0] = var3 - var8;
                     var1[1] = var7 - var4;
                     var1[2] = var4;
                     return;
                  }

                  var4 -= (var3 - var10) * var7;
               }

               var11 = var2.a(Row.b(var5, var6));
               if (var11 >= var4) {
                  var1[0] = var10;
                  var1[1] = var11 - var4;
                  var1[2] = var4;
                  return;
               }

               var4 -= var11;
               var3 = var10 - 1;
            }
         }

         if (var7 == 0) {
            var1[0] = var3 + 1;
            var1[1] = 0;
            var1[2] = var7;
            return;
         }

         var8 = (var4 - 1) / var7;
         if (var3 < var8) {
            var1[0] = 0;
            var1[1] = 0;
            var1[2] = var7;
            return;
         }

         var4 -= var8 * var7;
         var1[0] = var3 - var8;
         var1[1] = var7 - var4;
         var1[2] = var4;
      } else {
         var4 = var1[1] + var1[2];
         int var12 = this.a.t() ? 0 : var2.a(this.a.p());
         zr var13 = this.a.f();
         zahl var14 = var13.b(var3, -1, false);
         if (var14 != null) {
            while(true) {
               int var15 = var14.a();
               if (var15 < 0) {
                  break;
               }

               var10 = var13.a(var15);
               if (var10 > var3 && var12 > 0) {
                  var6 = (var4 - 1) / var12;
                  if (var3 + var6 < var10) {
                     var4 -= var6 * var12;
                     var1[0] = var3 + var6;
                     var1[1] = var4;
                     var1[2] = var12 - var4;
                     return;
                  }

                  var4 -= (var10 - var3) * var12;
               }

               var11 = var2.a(Row.b(var13, var15));
               if (var11 >= var4) {
                  var1[0] = var10;
                  var1[1] = var4;
                  var1[2] = var11 - var4;
                  return;
               }

               var4 -= var11;
               var3 = var10 + 1;
            }
         }

         if (var12 == 0) {
            var1[0] = var3 < 1 ? 0 : var3 - 1;
            var1[1] = var4;
            var1[2] = -var4;
            return;
         }

         var6 = (var4 - 1) / var12;
         var4 -= var6 * var12;
         var1[0] = var3 + var6;
         var1[1] = var4;
         var1[2] = var12 - var4;
      }

   }
}
